perm filename IPUPC.H[11,HE] blob
sn#688218 filedate 1982-12-06 generic text, type T, neo UTF8
/*
* pupconstants.h
*
* This file defines Pup type codes, and related things
* such as well-known sockets, etc. (This used to be part
* of packet.h).
*
* Jeffrey Mogul 22-June-1980
*/
/*
* Ethernet packet types
*/
#define PUP 01000
/*
* Well-Known Pup Sockets
*/
#define TELNET 1
#define GATEWAYINFO 2
#define FTP 3
#define MISCSERVICES 4
#define ECHOSERVER 5
#define MAIL 7
#define EFTPSERVER 020
#define EARSSTATUS 021
#define LEAF 043
#define NETUPD 0103
/* define MAXWELLKNOWNSOCKET to be higher than the highest Well Known pup
* socket; this allows us to chose Unique socket numbers without accidentally
* becoming a server for some strange protocol!
*/
#define MAXWELLKNOWNSOCKET 01000 /* highest I know is WFS = 0420 */
/*
* Registered pup types
*/
#define ECHOME 1
#define IMANECHO 2
#define IMABADECHO 3
#define ERRORPUP 04
#define RFC 010
#define RTP_ABORT 011
#define RTP_END 012
#define RTP_ENDR 013
#define BSP_DATA 020
#define BSP_ADATA 021
#define BSP_ACK 022
#define BSP_MARK 023
#define BSP_INTR 024
#define BSP_INTRR 025
#define BSP_AMARK 026
#define EFTPDATA 030
#define EFTPACK 031
#define EFTPEND 032
#define EFTPABORT 033
/* The following are MiscServices names for Pup Types; other
* services may interpret the same numbers differently.
*/
#define STIMEREQ 0200 /* string time request */
#define STIMERESP 0201 /* string time reply */
#define ATIMEREQ 0206 /* Alto time request */
#define ATIMERESP 0207 /* Alto time response */
#define TIMECHECK 0206 /* Alto time request */
#define TIMERESP 0207 /* Alto time response */
#define NAMEREQ 0220
#define NAMERESP 0221
#define ADDREQ 0223
#define ADDRESP 0224
#define LOOKUPERR 0222
#define MMAILREQ 0210 /* Msg-style Mail Check Request */
#define LMAILREQ 0214 /* Laurel-style Mail Check Request */
#define MAILCHECK 0214
#define NEWMAIL 0211
#define NONEWMAIL 0212
#define NOSUCHMBOX 0213
#define WHRUSREQ 0230 /* Where is User request */
#define WHRUSRESP 0231 /* Where is User response */
#define WHRUSERR 0232 /* Where is User Error */
#define NETDIRVERSION 0240 /* Net Directory Version */
#define SENDNETDIR 0241 /* Send Network Directory */
#define BOOTFILEREQ 0244 /* Boot File Request */
#define KISSOFDEATH 0247 /* Kiss of Death */
#define AUTHREQ 0250 /* User authentication request */
#define AUTHPOSRESP 0251 /* User authentication positive response */
#define AUTHNEGRESP 0252 /* User authentication negative response */
#define BOOTSTRQ 0253 /* Boot Stats request */
#define BOOTSTRP 0254 /* Boot Stats reply */
#define BOOTDREQ 0257 /* Boot directory request */
#define BOOTDREP 0260 /* Boot directory reply */
/* The following are MiscServices pup types that are non-standard;
* they have been defined locally (i.e., @ Stanford). Care should
* be taken when using them elsewhere, or when imported software
* is used.
*/
#define SENDUMSG 0300 /* send a "wall" message to a remote host:
* the format of PupData is
* "SenderName:ReceiverName:message",
* "*" means all users, with all newlines
* in the message. (Max message length
* is about 500 chars.)
*/
#define SENDUACK 0301 /* Acknowledges a SENDUMSG */
#define SENDUERR 0302 /* ditto, but remote host refuses */
#define SUNBOOTREQ 0303 /* like Alto boot request, but for a Sun */
#define SUNBOOTDREQ 0304 /* like Alto boot dir req, but for a Sun */
#define SUNBOOTDREP 0305 /* like Alto boot dir rep, but for a Sun */
#define SUNBOOTDNEW 0306 /* New Sun Boot dir request */
#define ATTRIBUTESREQ 0310 /* Net Directory attributes request */
#define ATTRIBUTESREP 0311 /* Net Directory attributes response */
#define ATTRIBUTESERR LOOKUPERR /* shared error code */
/*
* Pup types for GateWay-Info:
*/
#define GWINFREQ 0200 /* GateWay Information Request */
#define GWINFREP 0201 /* GateWay Information Reply */
/*
* Pup types for Ears-Status (== Spruce-Status)
*/
#define EARSTATREQ 0200
#define EARSTATREP 0201
/*
* Fundamental constants for Routing Table Updates; this
* may seem like a funny place for limits and timeouts,
* but these are "known" values all over the internet
* (e.g., a "Hop Count" of MAXHOPS + 1 is considered to
* be infinite.)
*/
#define MAXHOPS 15 /* maximum allowable hops to destination */
#define RTETIMEOUT 90 /* (seconds) until routing info is "stale" */